package com.cloudcc.boot.entity.mdm.wbs;

import com.alibaba.fastjson2.annotation.JSONField;
import com.cloudcc.boot.enums.WbsStatusEnum;
import com.cloudcc.boot.enums.YesOrNoEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yangzg.cloudcc.openapi.entity.CloudCCObject;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

@EqualsAndHashCode(callSuper = true)
@Data
public class CRM_WBS_DO extends CloudCCObject {

    public static final String OBJECT_API = "mdmWbs";

    @JSONField(serialize = false, alternateNames = {"CCObjectAPI"})
    @JsonIgnore
    @JsonProperty("CCObjectAPI")
    private String objectApi = OBJECT_API;

    private String code;//WBS编码

    private String name;//WBS名称

    private String projectNumber;//项目编号

    private String parentWBSCode;//父WBS代码

    private String responsibleOrganization;//责任组织编号

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date plannedStartDate;//计划开始日期

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date plannedEndDate;//计划结束日期

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;//开始日期

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;//结束日期

    private String workloadUnitNumber;//工作量单位编号

    private String plannedWorkload;//计划工作量

    private String actualWorkload;//实际工作量

    private String plannedDate;//计划工期

    private String actualDate;//实际工期

    private String responsiblePerson;//责任人

    private YesOrNoEnum isCompleted;//是否完工

    private String remark;//备注

    private String classification;//密级

    private WbsStatusEnum wbsStatus;//WBS状态

    private String profitCenter;//利润中心

    private String scopeOfControl;//控制范围

    private YesOrNoEnum isStatisticalType;//是否统计型

    private YesOrNoEnum invoiceElements;//是否开票元素


}
